/**
 *====================================================
 * 文件名称: FinanceBulkstockService.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年09月23日	chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.service;

import java.math.BigDecimal;
import java.util.List;

import com.yuexunit.finance.project.entity.FinanceBulkstockEntity;
import com.yuexunit.page.PageCriteria;
import com.yuexunit.page.PageList;

/**
 * @ClassName: FinanceBulkstockService
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年09月23日 18:56:17
 */
public interface FinanceBulkstockService {

	/** 新建融资货物 */
	public void createFinanceBulkstockEntity(FinanceBulkstockEntity entity);

	/** 修改融资货物 */
	public void updateFinanceBulkstockEntity(FinanceBulkstockEntity entity);

	/** 更新融资货物 */
	public void renovateFinanceBulkstock(FinanceBulkstockEntity persist);

	/** 删除融资货物 */
	public void deleteFinanceBulkstockEntity(Long bulkstockId);

	/** 获取融资货物 */
	public FinanceBulkstockEntity inquireFinanceBulkstock(Long bulkstockId);

	/** 查询货物列表 */
	public List<FinanceBulkstockEntity> inquireFinanceBulkstockList(Long[] bulkstockIds);

	/** 查询融资货物列表 */
	public List<FinanceBulkstockEntity> inquireFinanceBulkstockList(Long financeId);

	/** 查询融资货物列表 */
	public PageList<FinanceBulkstockEntity> inquireFinanceBulkstockPageList(Long financeId, String keyword, PageCriteria page);
	
	/** 查询融资货物列表 */
	public List<FinanceBulkstockEntity> inquireFinanceBulkstockList();
	
	/** 查询在押融资货物列表 */
	public List<FinanceBulkstockEntity> inquireProcessingFinanceBulkstockList(Long bulkstockInfoId);

	/** 质物公示列表 */
	public PageList<FinanceBulkstockEntity> inquirePublicFinanceBulkstockPageList(String bulkstockName, String specification, String originPlace, PageCriteria page);

	/** 计算监管数量 */
	public void calculateSupervisionFinanceBulkstock(Long financeId);

	/** 计算到港数量 */
	public void calculateHarborFinanceBulkstock(Long financeId);

	/** 计算已提数量 */
	public void calculatePickupFinanceBulkstock(Long financeId);

	/** 计算异常数量 */
	public void calculateAbnormalFinanceBulkstock(Long financeId);

	/** 计算在押数量 */
	public void calculateIncustodyFinanceBulkstock(Long financeId);

	/** 统计监管/已提/异常/在押数量 */
	public Integer[] inquireSupervisionPickupIncustodyFinanceBulkstock(Long financeId);

	/** 统计融资异常数量 */
	public BigDecimal countAbnormalBulkstockQuantity(Long financeId);

}
